home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-02-08 | 55.8 KB | 2,178 lines |
- Connectline cl_rexx.library, Copyright 1995 by Mathias Mischler
- ===============================================================
-
- Dokumentation erstellt von Mathias Mischler, bearbeitet von Ralf Ramge.
-
-
-
- Einführung:
- -----------
-
- Die Connectline cl_rexx.library stellt ein mächtiges Werkzeug dar, mit
- welchem Sie leistungsfähige ARexx-Skripte für die Wartung Ihres Systems und
- die Onlineunterstützung der User erstellen können.
-
- Diese Dokumentation erläutert sämtliche Funktionen der cl_rexx.library in
- thematisch zusammengehörigen Kapiteln. Folgende Bereiche werden von der
- cl_rexx.library unterstützt:
-
- 1. Allgemeine Funktionen
- 2. Befehle für Zugriffe auf Brettdaten
- 3. Befehle für Zugriffe auf Userdaten
- 4. Befehle für Zugriffe auf Systeme
- 5. Funktionen für Onlinebefehle
- 6. Befehle für Zugriffe auf Nachrichten
- 7. Befehle für Zugriffe auf die Ports
- 8. Befehle zum Auslesen von Defaultpfaden
-
-
-
- Funktionstypen der cl_rexx.library
- ----------------------------------
-
- Die Funktionen der cl_rexx.library sind verschiedenen Funktionstypen
- zugeordnet und ihre Zugehörigkeit ist an folgenden Prefixen erkennbar:
-
- CLGET... - Liefert Wert von Connectline
- CLSET... - Setzt Wert bei Connectline
- CLIS... - Abfragen von Flags, Wert immer "1" (wahr) oder "0" (falsch).
- CLONL... - Macht Ein-/Ausgaben in der Shell. Je nach Funktion wird ein Wert
- zurückgeliefert.
-
-
-
-
- 1. Allgemeine Funktionen:
- -------------------------
-
- o CLInfo()
-
- Testfunktion der cl_rexx.library. Sie liefert die aktuelle
- Versionsnummer und einen Copyrightvermerk zurück.
-
-
- o CLGET_OwnSystemName()
-
- Diese Funktion liefert den eigenen Systemnamen ohne die Domainan-
- gabe zurück.
-
- Beispiel:
-
- systemname=CLGET_OwnSystemName()
- say systemname
-
-
- o CLGET_OwnSystemAddress()
-
- Diese Funktion dient dem Ermitteln des eigenen Systemnamens inkl.
- der Domainangabe. Es wird immer die Hauptdomain zurückgegeben, auch
- wenn das System an mehreren Domains teilnimmt.
-
- Beispiel:
-
- /* Ermitteln der Systemadresse und Zerlegen in System- und
- Domainname */
-
- adresse=CLGET_OwnSystemAddress()
- system=left(adresse,pos('.',adresse)-1)
- domain=right(adresse,length(adresse)-pos('.',adresse))
- say 'Systemname:'system
- say 'Domainname:'domain
-
-
- o CLGET_GroupName(<gruppennr>)
-
- Mit dieser Funktion erhält man den Gruppennamen von <gruppennr> zurück.
- Die Übergabe eines Parameters > 0 ist zwingend erforderlich. Ist für
- <gruppennr> kein Gruppenname spezifiziert, wird ein Leerstring zurück-
- gegeben.
-
-
- Beispiel:
-
- say CLGET_GroupName(1)
-
-
- o CLGET_TransferList(<variable>)
-
- Diese Funktion liefert die Anzahl der eingestellten Transferprotokolle
- zurück. Bei dem Parameter <variable> handelt es sich um den Namen einer
- STEM-Variablen, welche nach erfolgreichem Aufruf der Funktion die Namen
- der Protokolle enthält. Erster Index ist 0, letzter Index ist <Rückgabe-
- wert>-1.
-
-
- o CLGET_PackerList(<variable>)
-
- Diese Funktion liefert die Anzahl der eingestellten Packer zurück. Bei
- dem Parameter <variable> handelt es sich um den Namen einer STEM-Varia-
- blen, welche nach erfolgreichem Aufruf der Funktion die Namen der Packer
- enthält. Erster Index ist 0, letzter Index ist <Rückgabewert>-1.
-
-
- o CL_SendMailFull (<absender>, <empfänger>, <sourcefile>,
- <commentfile>, <shortcomment>. <subject>,
- <contenttype>, <sortinpri>)
-
- Diese Funktion dient dem externen Verschicken von Nachrichten. Siehe
- auch CLONL_SendMail().
-
- Parameter:
-
- absender - Username des Absenders. Es wird nicht geprüft, ob
- der User im System existiert. System- und Domainan-
- gabe werden automatisch ersetzt, der Realname bleibt
- erhalten.
-
- empfänger - Empfänger der Nachricht.
-
- sourcefile - Pfad und Name des zu verschickenden Textes/Files.
-
- commentfile- Parameter mit Pfad und Name des lagen Kommentars
- (KOM:-Header). Soll kein langer Kommentar in die
- Mail eingefügt werden, ist ein Leerstring zu über-
- geben.
-
- shortcomment-Angabe des kurzen Kommentars (ZUSAMMENFASSUNG:-
- Header). Wird als String übergeben, ist dieser
- Header nicht gewünscht, erfolgt die Übergabe eines
- Leerstrings.
-
- subject - String mit dem Betreff der Nachricht.
-
- contenttype- Soll die Nachricht als Binärfile verschickt werden,
- geben sie hier 'BIN' an, ansonsten 'TEXT'.
-
- sortinpri - Priorität der Mail. Sie beeinflusst die Reihenfolge,
- in welcher der Sorter die vorliegenden Puffer bear-
- beitet. Höchste Priorität (Eilmail) ist 'A'.
-
- Beispiel:
-
- cl_sendmailfull(test,root,'s:startup-sequence',,,'subject',TEXT,'A')
-
- /* Verschickt das File s:startup-sequence als Textnachricht an den
- User 'root'. Als Absender wird der User 'test' angegeben. Der Be-
- treff der Nachricht lautet 'subject', die Nachricht hat höchste
- Priorität. Langer und kurzer Kommentar werden nicht gesetzt. */
-
-
- o CL_LogAdd(<priorität>,<ID>,<text>)
-
- Fügt einen Eintrag ins Logfile von Connectline 5.0 ein.
-
- Parameter:
-
- priorität - Priorität des Logeintrags (0<=x<=10)
- ID - Kennung des Prozesses
- text - Einzutragender Text
-
- Beispiel:
-
- call CL_LogAdd(5,'CL_REXX','Das ist ein Test.')
-
-
- o CL_LogDelete()
-
- Löscht das Logfile.
-
-
- o CL_LogRename(<dateiname>)
-
- Benennt das Logfile in <dateiname> um. Ein eventueller Pfad muß angegeben werden.
-
-
- o CLGET_FileRequest([<pfad>])
-
- Diese Funktion öffnet einen Filerequester und liefert den Namen und Pfad des an-
- gewählten Eintrages zurück. Optional kann mit <pfad> ein Defaultpfad angegeben
- werden. Multiselect ist nicht möglich.
-
-
- o CLGET_FrontScreenName()
-
- Diese Funktion liefert den Namen des vordersten Public Screens zurück.
-
-
- o CL_GetText(<textdatei>,<varname>)
-
- Es wird ein File zeilenweise in eine STEM-Variable eingelesen.
- Die Anzahl der eingelesenen Zeilen wird zurückgegeben.
-
- Parameter:
-
- textdatei - Pfad und Name des einzulesenden Textes
- varname - Name der STEM-Variable ohne Index
-
- Beispiel:
-
- anzahl=CL_GetText('s:startup-sequence',zeile)
- do x=0 to anzahl-1
- say zeile.x
- end
-
-
- o CL_PutStr(<text>)
-
- Gibt einen Text direkt auf dem Bildschirm aus, es wird kein LF
- ausgeführt.
-
-
-
-
- 2. Befehle für Zugriffe auf Brettdaten
- ---------------------------------------
-
- Allgemeine Anmerkungen:
- -----------------------
-
- Wenn versucht wird, auf ein nicht existentes Brett zuzugreifen, wird beim
- Lesen generell ein Leerstring "" zurückgegeben, und beim Schreiben False
- "0".
-
- Bretter werden generell so angegeben, wie sie im Bretteditor auftauchen.
- Ein führendes Slash ("/") darf nicht übergeben werden.
-
-
-
-
- 2.1 Allgemeine Befehle
- ----------------------
-
- o CL_SaveBoardlist()
-
- Speichert die Brettliste.
-
-
- o CL_BoardNew(<brettname>)
-
- Diese Funktion legt ein neues Brett an. Initialisieren Sie dieses Brett
- anschließend mit allen CLSET_BoardX()-Funktionen (siehe Abschnitt 2.3
- und 2.7 in diesem Kapitel), da diese Funktion lediglich Defaultwerte
- vorgibt.
-
- Die Defaultwerte sind:
-
- - Als Pfad wird der Defaultpfad für Bretter eingesetzt, mit der Er-
- gänzung auf diesen Brettnamen.
-
- - Lese- und Schreibzugriff werden auf Level 99 begrenzt.
-
- - Als Brettkommentar wird "Neues Brett (cl_rexx)" eingetragen.
-
- - Das Flag 'Realname' wird auf TRUE gesetzt.
-
- Alle anderen Brettparameter sind entweder 0 oder deaktiviert.
-
- Beispiel:
-
- if (CL_BoardNew('INTERN/TEST') then
- say 'Das Brett /INTERN/TEST wurde angelegt.'
- else
- say 'Es ist ein Fehler aufgetreten!'
-
-
- o CL_BoardDelete(<brettname>)
-
- Das Brett <brettname> wird aus der Brettliste gelöscht.
-
- Beispiel:
-
- if (CL_BoardDelete('INTERN/TEST') then
- say 'Das Brett /INTERN/TEST wurde gelöscht.'
- else
- say 'Das Brett /INTERN/TEST existiert nicht!'
-
-
-
-
- 2.2 Befehle zum Auslesen der Brettdaten
- ---------------------------------------
-
- o CLGET_BoardList(<varname> [,<pattern>])
-
- Legt eine vollständige Brettliste in der STEM-Variablen <varname> an.
- Der größte Index wird zurückgegeben, der niedrigste Index ist 0. Wird
- ein Muster <pattern> angegeben, so werden nur diese Bretter, die zu
- dem Muster passen, berücksichtigt (z.B. 'CLC/#?').
-
- Parameter:
-
- varname - Bezeichnung der STEM-Variable ohne Index
- pattern - Optionaler Parameter mit Suchmuster
-
- Beispiel:
-
- anzahl1=CLGET_BoardList(alleBretter)
- anzahl2=CLGET_BoardList(alleCLCBretter,'CLC/#?')
- do x = 0 to anzahl1-1
- say 'Brett Nummer 'x': 'alleBretter.x
- end
- do x= 0 to anzahl2-1
- say 'CLC-Brett Nummer 'x': 'alleCLCBretter.x
- end
-
-
- o CLIS_BoardExists(<brettname>)
-
- Diese Funktion testet, ob das Brett <brettname> in der Brettliste
- existiert.
-
- Beispiel:
-
- if (CLIS_BoardExists('INTERN/TEST') then
- say '/INTERN/TEST ist ein vorhandenes Brett.'
- else
- say '/INTERN/TEST ist ein unbekanntes Brett.'
-
-
- o CLGET_BoardNumberOf()
-
- Liefert die Anzahl der eingetragenen Bretter zurück.
-
-
- o CLGET_BoardNext(<brettname>)
-
- Diese Funktion gibt den Namen des Brettes zurück, welches <brettname>
- folgt. Möchte man das erste Brett der gesamten Brettliste ermitteln,
- übergibt man als Parameter einen Leerstring. Ist das letzte Brett der
- Liste erreicht, wird von der Funktion ein Leerstring zurückgegeben.
-
- Beispiel:
-
- /* Einlesen der gesamten Brettliste in eine STEM-Variable */
-
- x=CLGET_BoardNumberOf()
- brett.1=CLGET_BoardNext()
- do i=2 to x
- brett.i=CLGET_BoardNext(brett.(i-1))
- end
-
-
-
- o CLGET_BoardPrevious(<brettname>)
-
- Diese Funktion gibt den Namen des Brettes zurück, welches <brettname>
- vorhergeht. Möchte man das letzte Brett der gesamten Brettliste
- ermitteln, übergibt man als Parameter einen Leerstring. Ist das erste
- Brett der Liste erreicht, wird von der Funktion ein Leerstring zurück-
- gegeben.
-
- Beispiel:
-
- /* Einlesen der gesamten Brettliste in eine STEM-Variable */
-
- x=CLGET_BoardNumberOf()
- brett.x=CLGET_BoardPrevious()
- do i=(x-1) to 1 by -1
- brett.i=CLGET_BoardPrevious(brett.(i+1))
- end
-
-
- o CLGET_BoardPrefix(<prefix>)
-
- Diese Funktion versucht, <prefix> zu einem existierenden Brettnamen
- zu ergänzen.
-
- Beispiel:
-
- say 'CLGET_BoardPrefix('CLC/')
- /* Als Ergebnis wird das erste Brett der Hierarchie /CLC zurück-
- gegeben. */
-
-
- o CLGET_BoardNewsgroupName(<brettname>)
-
- Liefert den Newsgroupnamen dieses Brettes (rfc-Modul).
-
-
- o CLGET_BoardFTSName(<brettname>)
-
- Liefert den FTS-Namen dieses Brettes (FIDO-Modul).
-
-
- o CLGET_BoardPath(<brettname>)
-
- Diese Funktion gibt den Dos-Pfad eines Brettes zurück.
-
-
- o CLGET_BoardAdmin(<brettname>)
-
- Liefert den Usernamen des Brettverwalters des angegebenen Brettes.
-
-
- o CLGET_BoardPri(<brettname>)
-
- Liefert die Mindestpriorität zum Lesen des Brettes.
-
-
- o CLGET_BoardWritePri(<brettname>)
-
- Liefert die Mindestpriorität zum Beschreiben des Brettes.
-
-
- o CLGET_BoardMaxNet(<brettname>)
-
- Gibt die maximale zugelassene Nachrichtengröße in diesem Brett zurück.
-
-
- o CLGET_BoardAbout(<brettname>)
-
- Liefert den Kommentar dieses Brettes.
-
-
- o CLGET_BoardCensor(<brettname>)
-
- Liefert den Usernamen des Zensors dieses Brettes.
-
-
- o CLGET_BoardHoldKB(<brettname>,<maxkb>)
-
- Liefert das maximale Haltevolumen in KB für den Cruncher in diesem
- Brett.
-
-
- o CLGET_BoardHoldDays(<brettname>,<maxdays>)
-
- Liefert die maximale Haltezeit in Tagen für den Cruncher in diesem
- Brett.
-
-
- o CLGET_BoardLastWrite(<brettname>)
-
- Liefert den Zeitpunkt zurück, an welchem der letzte Schreibzugriff in
- diesem Brett stattgefunden hat. Es wird ein String mit zwei Worten zu-
- rückgegeben; das erste Wort enthält das Datum im Format DD.MM.YYYY, das
- zweite Wort die Uhrzeit im Format HH:MM:SS.
-
- Beispiel:
-
- /* Ermitteln und zerlegen des letzten Schreibzugriffes im Brett
- /CLC/USER/FRAGEN. */
-
- all=clget_BoardLastWrite('CLC/USER/FRAGEN')
- datum=translate(word(all,1),' ','.')
- zeit=translate(word(all,2),' ','.')
- Tag=word(datum,1); Monat=word(datum,2); Jahr=word(datum,3)
- Stunde=word(zeit,1); Minute=word(zeit,2); Sekunde=word(zeit,3)
-
-
- o CLIS_BoardGroup(<brettname>,<group>)
-
- Diese Funktion dient der Abfrage, ob ein Brett einer bestimmten Gruppe
- angehört.
-
- Parameter:
-
- brettname - Name des Brettes
- group - Nummer der Gruppe
-
-
- Beispiel:
-
- /* Heiteres Gruppenraten :-) */
-
- brett='CLC/USER/FRAGEN'
- options prompt 'Ihr Tip: '
- do forever
- pull gruppennr
- select
- when gruppennr=-1 then leave
- when ~CLIS_Boardgroup(brett,gruppenr) then do
- say 'Nein, /CLC/USER/FRAGEN ist nicht in'
- say 'der Gruppe "'CLGet_GroupName(gruppennr)'"!'
- end
- otherwise do
- say 'Sie haben richtig geraten!'
- exit
- end
- end
- end
-
-
-
-
- 2.3 Befehle zum Setzen der Brettdaten
- -------------------------------------
-
- Bei Erfolg wird generell '1' zurückgeliefert, bei Mißerfolg '0'.
-
- Beispiel für die Benutzung dieser Funktionen:
-
- if (funktionsaufruf) then
-
- ... /* Aufruf war erfolgreich */
-
- else
-
- ... /* Aufruf war nicht erfolgreich */
-
-
-
- o CLSET_BoardNewsgroupName(<brettname>,<ngname>)
-
- Setzt den Newsgroupnamen dieses Brettes (für rfc-Modul).
-
- Parameter:
-
- brettname - Name des Brettes
- ngname - gewünschter Newsgroupname
-
-
- o CLSET_BoardFTSName(<brettname>,<ftsname>)
-
- Setzt den FTS-Namen dieses Brettes (für FIDO-Modul).
-
- Parameter:
-
- brettname - Name des Brettes
- ftsname - gewünschter Echoname
-
-
- o CLSET_BoardAdmin(<brettname>,<admin>)
-
- Setzt den Brettverwalter des Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- admin - Username des Brettverwalters
-
-
- o CLSET_BoardPri(<brettname>,<pri>)
-
- Setzt die erforderliche Mindestpriorität zum Lesen des Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- pri - Priorität (0<=pri<=99)
-
-
- o CLSET_BoardWritePri(<brettname>,<pri>)
-
- Setzt die erforderliche Mindestpriorität zum Beschreiben des Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- pri - Priorität (0<=pri<=99)
-
-
- o CLSET_BoardMaxNet(<brettname>,<maxnet>)
-
- Setzt die maximal zugelassene Nachrichtengröße des Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- maxnet - Maximallänge in Byte oder 0.
-
-
- o CLSET_BoardAbout(<brettname>,<infotext>)
-
- Setzt den Kommentar dieses Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- infotext - Brettkommentar
-
-
- o CLSET_BoardCensor(<brettname>,<censor>)
-
- Setzt den Zensor dieses Brettes.
-
- Parameter:
-
- brettname - Name des Brettes
- censor - Username des Zensors
-
-
- o CLSET_BoardHoldKB(<brettname>)
-
- Setzt das maximale Brettvolumen in Kilobyte für den Cruncher.
-
-
- o CLSET_BoardHoldDays(<brettname>)
-
- Setzt die maximale Haltezeit in Tagen für den Cruncher.
-
-
- o CLSET_BoardGroup(<brettname>,<gruppennr> [,<flag>])
-
- Trägt ein Brett in eine Gruppe ein oder trägt es aus einer Gruppe aus.
-
- Parameter:
-
- brettname - Name des Brettes
- gruppennr - Nummer der Gruppe
- flag - Optionales Flag; ist dies angegeben und hat den Wert 0,
- wird das Brett aus der Gruppe ausgetragen. Fehlt dieses
- Flag beim Aufruf, wird ein Eintragen in die Gruppe ver-
- sucht.
-
-
- Beispiel:
-
- if (CLSET_BoardGroup('CLC/USER/FRAGEN',1) then do
- say '/CLC/USER/FRAGEN in Gruppe 1 eingetragen!'
-
- call CLSET_BoardGroup('CLC/USER/FRAGEN',1,'0')
- say '/CLC/USER/FRAGEN aus Gruppe 1 ausgetragen!'
- end
-
-
-
-
- 2.4 Befehle zum Auslesen und Verändern der Verteilerliste
- ---------------------------------------------------------
-
-
- o CLGET_BoardBoxList(<brettname>, <varname>)
-
- Liefert die Anzahl der Systeme zurück, die das Brett <brettname> be-
- stellt haben. Die Namen der Systeme werden in der STEM-Variablen
- <varname> abgelegt. Das erste System ist in der Variablen <varname>.0
- zu finden.
-
- Beispiel:
-
- options prompt "Gewünschtes Brett:"
- pull brett
- anzahl=CLGet_BoardBoxList(brett,system)
- say anzahl' Systeme im Verteiler von 'brett':'
- do x=0 to anzahl-1
- say ' 'system.x
- end
-
-
- o CLGET_BoardNetCount(<brettname>)
-
- Liefert die Anzahl der im Verteiler des Brettes <brettname> eingetragenen
- Systeme.
-
- Hinweis: Wenn Sie nicht nur an der Zahl der Systeme im Verteiler interes-
- siert sind, sondern den Verteilerstring mittels CLGET_BoardBoxList() so-
- wieso auslesen, erhalten sie die Anzahl über die interne ARexx-Funktion
- words() auf einem schnelleren Weg.
-
-
- o CLSET_BoardAddBox(<brettname>,<system>)
-
- Fügt ein neues System in die Verteilerliste des Brettes ein. Es
- wird nicht überprüft, ob das System in der Systemliste eingetragen
- ist.
-
- Parameter:
-
- brettname - Name des Brettes
- system - Name des Systems/des Points.
-
-
- o CLSET_BoardDelBox(<brettname>,<system>)
-
- Löscht ein System aus der Verteilerliste des Brettes. Es wird nicht
- überprüft. ob das System in der Systemliste eingetragen ist.
-
- Parameter:
-
- brettname - Name des Brettes
- system - Name des Systems/des Points.
-
-
-
-
- 2.5 Befehle zum Testen der Zugriffsberechtigungen
- -------------------------------------------------
-
-
- o CLGET_BoardValidateUser(<brettname>,<user>)
-
- Überprüft, ob und wie der User Zugriff auf das Brett hat. Diese
- Funktion gibt einen der folgenden Strings zurück:
-
- NONE User hat keinerlei Zugriff.
- ACCESS User hat Zugriff.
- CENSORED User hat Zugriff und wird zensiert.
- ISADMIN User hat Zugriff und ist Brettverwalter.
- ISCENSOR User hat Zugriff und ist Zensor.
-
-
- o CLGET_BoardValidateBox(<brettname>,<system>)
-
- Überprüft, ob das System Zugriff auf das Brett hat.
-
- Beispiel:
-
- if (CLGET_BoardValidateBox(brett,system)
- say upper(system)' hat Zugriff auf 'brett'!'
- else
- say upper(system)' hat *keinen* Zugriff auf 'brett'!'
-
-
-
-
- 2.6 Befehle zum Abfragen von Brettflags
- ---------------------------------------
-
- Ist das jeweilige Flag gesetzt, liefern die Funktionen '1' zurück,
- ist es nicht gesetzt, eine '0'.
-
-
- o CLIS_BoardBin(<brettname>)
-
- Abfrage, ob Binärnachrichten im Brett erlaubt sind.
-
-
- o CLIS_BoardText(<brettname>)
-
- Abfrage, ob Textnachrichten im Brett erlaubt sind.
-
-
- o CLIS_BoardMapsAllowed(<brettname>)
-
- Abfrage, ob per Maps auf das Brett zugegriffen werden kann.
-
-
- o CLIS_BoardAutoEntry(<brettname>)
-
- Abfrage, ob das Brett automatisch eingetragen wurde.
-
-
- o CLIS_BoardRealname(<brettname>)
-
- Abfrage, ob im Brett ein Realnamenzwang besteht.
-
-
- o CLIS_BoardDLRatio(<brettname>)
-
- Abfrage, ob im Brett eine Up-/Downloadratio aktiv ist.
-
-
- o CLIS_BoardAutoRemove(<brettname>)
-
- Abfrage, ob das Brett automatisch ausgetragen wird.
-
-
- o CLIS_BoardExternal(<brettname>)
-
- Abfrage, ob es sich um ein extern ausgelagertes Brett handelt.
-
-
- o CLIS_BoardRouteOnly(<brettname>)
-
- Abfrage, ob das Brett nur durchgeroutet wird.
-
-
- o CLIS_BoardNoScan(<brettname>)
-
- Abfrage, ob bei dem Brett das Datum konstant ist (z.B. CD-ROM's).
-
-
-
-
- 2.7 Befehle zum Setzen von Brettflags
- -------------------------------------
-
- Bei den Funktionen dieses Abschnittes sind die zu übergebenden Parameter
- von Funktion zu Funktion identisch und haben folgenden Inhalt:
-
- Parameter:
-
- brettname - Name des Brettes
- flag - '0' bedeutet, das Flag wird gelöscht (FALSE)
- '1' bedeutet, das Flag wird gesetzt (TRUE)
-
-
- o CLSET_BoardBin(<brettname>,<flag>)
-
- Flag, ob Binärnachrichten im Brett erlaubt sind.
-
-
- o CLSET_BoardText(<brettname>,<flag>)
-
- Flag, ob Textnachrichten im Brett erlaubt sind.
-
-
- o CLSET_BoardAutoEntry(<brettname>,<flag>)
-
- Flag, ob das Brett wie ein automatisch eingetragenes Brett be-
- handelt werden soll.
-
-
- o CLSET_BoardRealname(<brettname>,<flag>)
-
- Flag, ob im Brett ein Realnamenzwang existieren soll.
-
-
- o CLSET_BoardDLRatio(<brettname>,<flag>)
-
- Flag, ob im Brett eine Up-/Downloadratio gelten soll.
-
-
- o CLSET_BoardAutoRemove(<brettname>,<flag>)
-
- Flag, ob das Brett automatisch ausgetragen werden soll.
-
-
- o CLSET_BoardExternal(<brettname>,<flag>)
-
- Setzt je nach Flag, ob das Brett extern ausgelagert ist.
-
-
- o CLSET_BoardRouteOnly(<brettname>,<flag>)
-
- Flag, ob das Brett nur geroutet wird.
-
-
- o CLSET_BoardNoScan(<brettname>,<flag>)
-
- Flag, ob bei dem Brett ein konstantes Datum herrschen soll.
-
-
-
-
- 3. Befehle für Zugriff auf Userdaten
- ------------------------------------
-
- Allgemeine Anmerkungen:
- -----------------------
-
- Wenn versucht wird, auf einen nicht existenten User zuzugreifen, wird beim
- Lesen generell ein Leerstring zurückgegeben, beim Schreiben FALSE ('0').
-
- Es ist zwar möglich, auf User zuzugreifen, die sich gerade online im Sys-
- tem aufhalten, aber es wird davon abgeraten. Dies liegt darin begründet,
- daß beim Logoff des Users seine Userdaten wieder aus dem RAM gespeichert
- werden und Änderungen mittels cl_rexx hierdurch hinfällig werden.
-
-
-
-
- 3.1 Allgemeine Befehle
- ----------------------
-
-
- o CLIS_UserExists(<username>)
-
- Diese Funktion liefert als Rückgabewert TRUE, wenn <username>
- eingetragener User ist, FALSE, wenn dies nicht der Fall ist.
-
-
- o CLIS_UserPoint(<username>)
-
- Liefert TRUE wenn der User einen Point in Ihrem System hat, ist
- dies nicht der Fall, wird FALSE zurückgegeben.
-
-
- o CL_UserNew(<username>,<passwort>)
-
- Es wird ein neuer User unter <username> mit dem Passwort <passwort>
- eingetragen. Bei Erfolg wird '0' zurückgegeben, ansonsten '1'. Da-
- nach sollten mit den CLSET_UserX()-Befehlen (siehe Abschnitt 3.3)
- alle weiteren Daten ergänzt werden.
-
-
- o CLGET_UserNumberOf()
-
- Diese Funktion gibt die Anzahl aller eingetragenen User zurück.
-
-
- o CLGET_Username(<index>)
-
- Diese Funktion liefert den Usernamen des Users <index> zurück.
-
- Beispiel:
-
- /* Erstellen einer Liste aller User */
-
- anz=CLGET_UserNumberOf()
- do x=1 to anz
- user.x=CLGET_Username(x)
- end
-
-
-
-
- 3.2 Befehle zum Auslesen der Userdaten
- --------------------------------------
-
- o CLGET_UserPriority(<username>)
-
- Liefert die Priorität des Users zurück.
-
-
- o CLGET_UserPath(<username>)
-
- Liefert den Pfad des Users zurück.
-
-
- o CLIS_UserGroup(<username>,<gruppennr>)
-
- Liefert '1', wenn der User in der Gruppe <gruppennr> ist, sonst '0'.
-
-
- o CLGET_UserRealname(<username>)
-
- Liefert den Realnamen des Users zurück.
-
-
- o CLGET_UserAddress(<username>)
-
- Liefert die Adresse des Users zurück.
-
-
- o CLGET_UserTelephone(<username>)
-
- Liefert die Telefonnummer des Users zurück.
-
-
- o CLGET_UserSysopInfo(<username>)
-
- Liefert die Sysopinfo des Users zurück.
-
-
- o CLGET_UserMessage(<username>)
-
- Liefert Userinfo des Users zurück.
-
-
- o CLGET_UserCopyTo(<username>)
-
- Liefert den Vertreter des Users zurück.
-
- o CLGET_UserTerminal(<username>)
-
- Liefert entweder "ANSI", "VT100" oder "TTY" zurück, je nach Ter-
- minaleinstellung des Users.
-
-
- o CLGET_UserLanguage(<username>)
-
- Liefert Spracheinstellung des Users zurück.
-
-
- o CLGET_UserKeyboard(<username>)
-
- Liefert den eingestellten Zeichensatz zurück ("IBM" oder "ISO").
-
-
- o CLGET_UserNumberOfCalls(<username>)
-
- Gibt die Gesamtzahl aller Anrufe des Users zurück.
-
-
- o CLGET_UserTimeout(<username>)
-
- Liefert den Zeitlimit des Users zurück (Minuten).
-
-
- o CLGET_UserCredit(<username>)
-
- Liefert den erlaubten Kredit für den User zurück.
-
-
- o CLGET_UserLines(<username>)
-
- Liefert die eingestellte Zeilenzahl des Users zurück.
-
-
- o CLGET_UserProtocol(<username>)
-
- Liefert das eingestellte Übertragungsprotokoll zurück.
-
-
- o CLGET_UserMaxKB(<username>)
-
- Liefert das maximale Haltevolumen in KB des Postfaches des Users für
- den Cruncher zurück.
-
-
- o CLGET_UserMaxDays(<username>)
-
- Liefert die maximale Haltezeit in Tagen des Postfaches des Users für
- den Cruncher zurück.
-
-
- o CLGET_UserLastCall(<username>)
-
- Liefert den Zeitpunkt des letzten Anrufes des Users zurück. Es wird
- ein String mit 2 Worten zurückgegeben; das erste Wort beinhaltet das
- Datum im Format DD.MM.YYYY, das zweite die Uhrzeit im Format HH:MM:SS.
-
-
- o CLGET_UserUploads(<username>)
-
- Liefert die Uploads des Users in Kilobyte zurück.
-
-
- o CLGET_UserDownloads(<username>)
-
- Liefert Downloads des Users in Kilobyte zurück.
-
-
- o CLGET_UserFreeFiles(<username>)
-
- Liefert die freien Files des Users zurück.
-
- o CLGET_UserFreeKByte(<username>)
-
- Liefert den Downoladfreiraum des Users zurück.
-
- o CLGET_UserRate(<username>)
-
- Liefert die Up-/Downloadratio des Users zurück.
-
-
- o CLGET_UserPointname(<username>)
-
- Liefert den Pointnamen des Users zurück.
-
-
-
-
- 3.3 Befehle zum Setzen der Userdaten
- ------------------------------------
-
- Bei Erfolg wird generell '1' zurückgeliefert, bei Mißerfolg '0'.
-
-
- o CLSET_UserPassword(<username>,<passwort>)
-
- Setzt für einen User das Passwort.
-
- Parameter:
-
- username - Username des Users
- passwort - Passwort des Users
-
-
- o CLSET_UserPriority(<username>,<priorität>)
-
- Setzt die Priorität eines Users.
-
- Parameter:
-
- username - Username des Users
- priorität- Priorität (0<=x<=99)
-
-
- o CLSET_UserPath(<username>,<pfad>)
-
- Setzt den Pfad des Users.
-
- Parameter:
-
- username - Username des Users
- pfad - gültiger DOS-Pfad des Userverzeichnisses
-
-
- o CLSET_UserGroup(<username>,<gruppennr> [,<flag>])
-
- Trägt den User in eine Gruppe ein bzw. aus.
-
- Parameter:
-
- username - Username des Users
- gruppennr- Nummer der Gruppe
- flag - optionales Flag; ist es '0', wird der User aus dieser
- Gruppe ausgetragen. Ist es '1' oder fehlt es gänzlich,
- wird ein Eintragen in die angegebene Gruppe versucht.
-
-
- o CLSET_UserRealname(<username>,<realname>)
-
- Setzt den Realnamen des Users.
-
- Parameter:
-
- username - Username des Users
- realname - Realname des Users
-
-
- o CLSET_UserAddress(<username>,<adresse>)
-
- Setzt die Adresse des Users.
-
- Parameter:
-
- username - Username des Users
- adresse - Adresse des Users
-
-
- o CLSET_UserTelephone(<username>,<telefon>)
-
- Setzt die Telefonnummer des Users.
-
- Parameter:
-
- username - Username des Users
- telefon - Telefonnummer des Users (String)
-
-
- o CLSET_UserSysopInfo(<username>,<sysopinfo>)
-
- Setzt die Sysopinfo des Users.
-
- Parameter:
-
- username - Username des Users
- sysopinfo- Informationstext
-
-
- o CLSET_UserMessage(<username>,<message>)
-
- Setzt die Userinfo des Users.
-
- Parameter:
-
- username - Username des Users
- unserinfo- Informationstext
-
-
- o CLSET_UserCopyTo(<username>,<vertreter>)
-
- Setzt den Vertreter des Users.
-
- Parameter:
-
- username - Username des Users
- vertreter- Vertreter des Users
-
-
- o CLSET_UserTerminal(<username>,<terminal>)
-
- Setzt Terminaleinstellung des Users.
-
- Parameter:
-
- username - Username des Users
- terminal - Entweder 'ANSI', 'VT100' oder 'TTY'
-
-
- o CLSET_UserLanguage(<username>,<sprache>)
-
- Setzt die Spracheinstellung des Users.
-
- Parameter:
-
- username - Username des Users
- sprache - Sprache des Users (Default: 'DEUTSCH')
-
-
- o CLSET_UserKeyboard(<username>,<zeichensatz>)
-
- Setzt den Zeichensatz des Users.
-
- Parameter:
-
- username - Username des Users
- zeichensatz - Entweder "IBM" oder "ISO"
-
-
- o CLSET_UserTimeout(<username>,<timeout>)
-
- Setzt den Zeitlimit des Users.
-
- Parameter:
-
- username - Username des Users
- timeout - Zeitlimit des Users in Minuten
-
-
- o CLSET_UserAccount(<username>,<konto>)
-
- Setzt den Kontostand des Users.
-
- Parameter:
-
- username - Username des Users
- konto - Kontostand des Users
-
-
- o CLSET_UserCredit(<username>,<kredit>)
-
- Setzt den erlaubten Kredit des Users.
-
- Parameter:
-
- username - Username des Users
- kredit - Kredit
-
-
- o CLSET_UserLines(<username>,<zeilenzahl>)
-
- Setzt die Zeilenzahl-Einstellung des Users.
-
- Parameter:
-
- username - Username des Users
- zeilenzahl - Zeilenzahl des Users
-
-
- o CLSET_UserProtocol(<username>,<protokoll>)
-
- Setzt das Übertragungsprotokoll.
-
- Parameter:
-
- username - Username des Users
- protokoll- Übertragungsprotokoll (Default: "ZMODEM")
-
-
- o CLSET_UserMaxKB(<username>,<maxkb>)
-
- Setzt das maximale Haltevolumen in Kilobyte für den Cruncher im
- Postfach des Users.
-
- Parameter:
-
- username - Username des Users
- maxkb - Maximalvolumen
-
-
- o CLSET_UserMaxDays(<username>,<maxdays>)
-
- Setzt die maximale Haltezeit in Tagen für den Cruncher im Postfach
- des Users.
-
- Parameter:
-
- username - Username des Users
- maxdays - maximale Haltezeit
-
-
- o CLSET_UserUploads(<username>,<uploads>)
-
- Setzt die Uploads des Users in Kilobyte.
-
- Parameter:
-
- username - Username des Users
- uploads - Uploads
-
-
- o CLSET_UserDownloads(<username>,<downloads>)
-
- Setzt die Downloads des Users in Kilobyte.
-
- Parameter:
-
- username - Username des Users
- downloads- Downloads
-
-
- o CLSET_UserFreeFiles(<username>,<freefiles>)
-
- Setzt die freien Files des Users.
-
- Parameter:
-
- username - Username des Users
- freefiles- Anzahl der freien Files.
-
-
- o CLSET_UserFreeKByte(<username>,<freekbyte>)
-
- Setzt den Downloadfreiraum des Users.
-
- Parameter:
-
- username - Username des Users
- freekbyte- Downloadfreiraum
-
-
- o CLSET_UserRate(<username>,<ratio>)
-
- Setzt die Up-/Downloadratio des Users.
-
- Parameter:
-
- username - Username des Users
- ratio - Up-/Downloadratio (1:x)
-
-
-
-
- 3.4 Befehle zum Lesen der Userflags
- -----------------------------------
-
- Ist das jeweilige Flag gesetzt, liefern die Funktionen '1' zurück,
- ansonsten '0'.
-
-
- o CLIS_UserInvisible(<username>)
-
- Abfrage, ob der User unsichtbar ist.
-
-
- o CLIS_UserNetworkEnabled(<username>)
-
- Abfrage, ob der User netzberechtigt ist.
-
-
- o CLIS_UserAutoEntry(<username>)
-
- Abfrage, ob der User automatisch eingetragen wurde (unbearbeiteter
- Userantrag).
-
-
- o CLIS_UserAutoRemove(<username>)
-
- Abfrage, ob der User automatisch entfernt werden soll.
-
-
-
-
- 3.5 Befehle zum Setzen der Userflags
- ------------------------------------
-
- Bei den Funktionen dieses Abschnittes sind die zu übergebenden Parameter
- von Funktion zu Funktion identisch und haben folgenden Inhalt:
-
- Parameter:
-
- username - Name des Users
- flag - '0' bedeutet, das Flag wird gelöscht (FALSE)
- '1' bedeutet, das Flag wird gesetzt (TRUE)
-
-
- o CLSET_UserInvisible(<username>,<flag>)
-
- Flag, ob der User unsichtbar ist.
-
-
- o CLSET_UserNetworkEnabled(<username>,<flag>)
-
- Flag, ob der User Netzberechtigung hat.
-
-
- o CLSET_UserAutoEntry(<username>,<flag>)
-
- Flag, ob der User automatisch eingetragen wurde.
-
-
- o CLSET_UserAutoRemove(<username>,<flag>)
-
- Flag, ob der User automatisch gelöscht wird.
-
-
-
-
- 4. Befehle für Zugriff auf Systemdaten
- --------------------------------------
-
- Allgemeine Anmerkungen:
- -----------------------
-
- Wenn versucht wird, auf ein nicht existentes System zuzugreifen, wird
- beim Lesen generell ein Leerstring zurückgegeben, beim Schreiben '0'.
-
-
-
-
- 4.1 Allgemeine Befehle
- ----------------------
-
- o CL_SystemSavelist()
-
- Wurde die Systemliste verändert, wird sie bei Aufruf dieser Funktion
- gespeichert.
-
-
- o CL_SystemNew(<systemname>)
-
- Erzeugt ein neues System mit dem Namen <systemname>. Danach sollten
- mit den CLSET_SystemX()-Befehlen (siehe Abschnitt 5.3) alle Daten
- ergänzt werden.
-
-
- o CL_SystemDelete(<systemname>)
-
- Das System <systemname> wird aus der Systemliste gelöscht.
-
-
- o CLGET_SystemNumberOf()
-
- Diese Funktion gibt die Anzahl aller eingetragenen Systeme zurück.
-
-
- o CLGET_SystemName(<index>)
-
- Nach Aufruf gibt die Funktion den Namen des Systems mit der Nummer
- <index> zurück.
-
- Beispiel:
-
- anzahl=CLGET_SystemNumberOf() /* Anzahl der Systeme ermitteln */
-
- do x=1 to anzahl
- system.x=CLGET_SystemName(x)
- end
-
-
- o CLIS_SystemExists(<systemname>)
-
- Liefert '1', wenn das System <systemname> in der Systemliste einge-
- tragen ist, ansonsten '0'.
-
-
-
-
- 4.2 Befehle zum Auslesen der Systemdaten
- ----------------------------------------
-
-
- o CLGET_SystemDomain(<systemname>)
-
- Diese Funktion gibt die Domain eines eingetragenen Systems zurück.
-
-
- o CLGET_SystemRoute(<systemname>)
-
- Diese Funktion liefert das Routesystem von <systemname>. Bei nicht
- existentem System <systemname> oder bei aktiviertem PathAlias-/Do-
- mainrouting wird ein Leerstring zurückgeliefert.
-
- Beispiel:
-
- route=CLGET_SystemRoute(systemname)
- if route='' then do
- if ~CLIS_SystemExists(systemname) then
- say 'Dieses System ist nicht eingetragen!'
- else
- say 'Mail wird per PathAlias/Domainrouting geroutet!'
- end
-
-
- o CLGET_SystemNet(<systemname>)
-
- Liefert den Netznamen vom System <systemname> im Klartext (JANUS,
- ZERBERUS, UUCP oder FIDO).
-
-
- o CLGET_SystemProtocol(<systemname>)
-
- Liefert den Namen des für <systemname> eingestellten Transferproto-
- kolls im Klartext.
-
-
- o CLGET_SystemPackerIn(<systemname>)
-
- Liefert den Packer der von <systemname> eingehenden Puffer im Klar-
- text.
-
-
- o CLGET_SystemPackerOut(<systemname>)
-
- Liefert den Packer der an <systemname> ausgehenden Puffer im Klar-
- text.
-
-
- o CLGET_SystemGroup(<systemname>,<gruppennr>)
-
- Liefert '1', wenn das System <systemname> in die Gruppe mit der Num-
- mer <gruppennr> eingetragen ist, ansonsten '0'.
-
-
- o CLGET_SystemPointuser(<systemname>)
-
- Falls es sich bei dem System um einen Point handelt, wird der Name
- des Pointusers zurückgegeben, ansonsten ein Leerstring.
-
-
- o CLGET_SystemTelephone(<systemname>)
-
- Diese Funktion gibt die Telefonnummer des Systems <systemname> zu-
- rück.
-
- Beispiel:
-
- /* Einlesen der einzelnen Telefonnummern eines Systems in eine
- STEM-Variable */
-
- string=translate(CLGET_SystemTelephone(system),' ','|')
- if string~='' then do
- do x=1 to words(string)
- telefon.x=word(string,x)
- end
- end
-
-
- o CLGET_SystemPriority(<systemname>)
-
- Diese Funktion gibt die Priorität des Systems <systemname> zurück.
-
-
- o CLGET_SystemLastCall(<systemname>)
-
- Liefert das Datum des letzten Anrufs vom System <systemname> im For-
- mat 'DD.MM.YYYY HH:MM:SS'.
-
-
- o CLIS_SystemAutoEntry(<systemname>)
-
- Liefert den Rückgabewert '1', wenn das System die Berechtigung zum
- Autoeintrag neuer Brett hat, ansonsten '0'.
-
-
- o CLIS_SystemMapsAccess(<systemname>)
-
- Liefert den Rückgabewert '1', wenn das System Zugriff auf Maps
- hat, ansonsten '0'.
-
-
-
-
- 4.3 Befehle zum Setzen der Systemdaten
- --------------------------------------
-
- Bei Erfolg wird generell '1' zurückgegeben, bei Mißerfolg '0'.
-
-
- o CLSET_SystemPassword(<systemname>,<passwort>)
-
- Trägt für das System das Passwort <passwort> ein.
-
-
- o CLSET_SystemDomain(<systemname>,<domain>)
-
- Trägt für das System die Domain <domain> ein.
-
-
- o CLSET_SystemRoute(<systemname>,<routesystem>)
-
- Trägt für das System das Routesystem <routesystem> ein und schaltet
- ein evt. eingeschaltetes PathAlias/Domainrouting ab.
-
-
- o CLSET_SystemNet(<systemname>,<netzname>)
-
- Setzt den Netznamen des Systems (Default "JANUS").
-
-
- o CLSET_SystemProtocol(<systemname>,<protokoll>)
-
- Setzt das Transferprotokoll des Systems (Default "ZMODEM").
-
-
- o CLSET_SystemPackerIn(<systemname>,<packer>)
-
- Setzt den Packer für eingehende Puffer vom System (Default "LHA").
-
-
- o CLSET_SystemPackerOut(<systemname>,<packer>)
-
- Setzt den Packer für ausgehende Puffer an das System (Default "LHA").
-
-
- o CLSET_SystemGroup(<systemname>,<gruppennr> [,<flag>])
-
- Trägt das System in eine Gruppe ein.
-
- Parameter:
-
- systemname - Name des Systems
- gruppennr - Nummer der Gruppe
- flag - Optionaler Parameter; ist es "0", wird das System
- aus der Gruppe ausgetragen, ist es "1" oder wird
- weggelassen, wird das System in die Gruppe einge-
- tragen.
-
-
- o CLSET_SystemPointuser(<systemname>,<username>)
-
- Setzt einen Pointuser für das System.
-
- Parameter:
-
- systemname - Name des Systems
- username - Pointuser. Wird hier ein Leerstring übergeben,
- wird die Verknüpfung gelöscht und das System
- nicht weiter als Point betrachtet.
-
-
- o CLSET_SystemTelephone(<systemname>,<telefon>)
-
- Setzt die Telefonnummer des Systems.
-
- Parameter:
-
- systemname - Name des Systems
- telefon - String mit einer oder mehreren Telefonnummern,
- bei mehreren durch '|' getrennt
-
- Beispiel:
-
- if zaehler>1 then do
- do x=1 to zaehler-1 /* Mehrere Nummern aneinanderhängen */
- telefon=nummer.x'|'
- end
- end
- telefon=telefon||nummer.zaehler /* Nur ein Port bzw. der letzte */
- call CLSET_SystemTelephone(system,telefon)
-
-
- o CLSET_SystemPriority(<systemname>,<priorität>)
-
- Setzt die Priorität des Systems.
-
- Parameter:
-
- systemname - Name des Systems
- priorität - Priorität des Systems (0<=x<=99)
-
-
- o CLSET_SystemAutoEntry(<systemname>,<flag>)
-
- Setzt die Berechtigung zum Autoeintrag von Brettern.
-
- Parameter:
-
- systemname - Name des Systems
- flag - '1' erlaubt Autoeintrag
- '0' verweigert Autoeintrag
-
-
- o CLSET_SystemMapsAccess(<systemname>,<flag>)
-
- Setzt die Berechtigung zum Zugriff auf Maps.
-
- Parameter:
-
- systemname - Name des Systems
- flag - '1' erlaubt Mapszugriff
- '0' verweigert Mapszugriff
-
-
-
-
- 5. Funktionen für Onlinebefehle
- -------------------------------
-
- Allgemeine Anmerkungen:
- -----------------------
-
- Alle CLONL_X()-Befehle liefern bei Erfolg '1' und bei Mißerfolg '0' zu-
- rück. Es sollte zumindest bei ersten Aufruf überprüft werden, ob eine
- '1' zurückgegeben wurde, damit man weiß, ob das ANSI-System korrekt ini-
- tialisiert wurde.
-
- Beispiel:
-
- if ~CLONL_ClearScreen() then do
- say "Can't init ANSI-System!"
- exit 10
- end
-
-
- o CL_Edit(<filename> [,<flag>])
-
- Ruft den Editor auf.
-
- Parameter:
-
- filename - Pfad und Name der Datei <filename>
- online - Optionaler Parameter; ist er angegeben, wird
- der Online-Editor anstelle des Offline-Editors
- benutzt.
-
- Beispiel:
-
- call CL_Edit('T:test',) /* Online-Editor benutzen */
-
-
- o CLONL_GotoXY(<x>,<y>)
-
- Setzt den Cursor auf die Position x,y.
-
- Parameter:
-
- x - Nummer der Spalte
- y - Nummer der Zeile
-
- Beispiel:
-
- call CLONL_GotoXY(1,1) /* Cursor in die linke obere Ecke */
-
-
- o CLONL_Normal()
-
- Schaltet die Textausgabe auf ANSI-Style "Normal" zurück. Das Resultat
- ist von Terminal zu Terminal verschieden; üblicherweise ist es Schrift-
- farbe weiß, Hintergrundfarbe Schwarz, kein Style.
-
- o CLONL_DeleteEOL()
-
- Per ANSI-Steuersequenz wird von der aktuellen Cursorposition bis zum
- Ende der Zeile alles gelöscht.
-
-
- o CLONL_DeleteLine()
-
- Per ANSI-Steuersequenz wird die aktuelle Zeile vollständig gelöscht,
- nachfolgende Zeilen rücken auf.
-
-
- o CLONL_InsertLine()
-
- Per ANSI-Steuersequenz wird an der aktuellen Position des Cursors eine
- Zeile eingefügt und die nachfolgende Zeilen um eine Zeile nach unten
- verschoben.
-
-
- o CLONL_BlueMode()
-
- Es wird auf den 'Blue'-Mode umgestellt. Hierbei handelt es sich um einen
- besonders markanten Eingabe- und Titelmodus.
-
-
- o CLONL_Color(<color>,<bcolor>,<style>)
-
- Die Cursorfarbe wird zur weiteren Ausgabe umgestellt, ein Schriftstil
- wird benutzt.
-
- Parameter:
-
- color - Schriftfarbe (BLACK, RED, GREEN, YELLOW, BLUE, PINK, CYAN
- oder WHITE)
- bcolor- Hintergrundfarbe (BLACK, RED, GREEN, YELLOW, BLUE, PINK,
- CYAN oder WHITE)
- style - Schriftstil (NORMAL, BOLD, KURSIV, UNDERLINE oder INVERSE)
-
-
- o CLONL_BlueRead(<länge> [,<vorgabe>]
-
- Über eine blaue Eingabezeile wird ein String-Gadget simuliert. Exis-
- tiert eine Vorgabe, so steht diese bereits im Feld. Nach einer Bestä-
- tigung der Eingabe der 'Return'-Taste wird der Inhalt des Feldes zu-
- rückgegeben.
-
- Parameter:
-
- länge - Länge der Eingabezeile in Zeichen
- vorgabe - Text, der als Default in der Eingabezeile stehen soll
-
-
- o CLONL_Wait()
-
- Es wird eine Meldung "<Bitte Taste drücken>" ausgegeben und auf einen
- Tastendruck gewartet. Wird eine '1' zurückgegeben, wurde eine Taste
- gedrückt. Bei einem Rückgabewert '0' sollte sich das Programm auf jeden
- Fall vollständig beenden, da der User dann CTRL-C/Q/X gedrückt hat oder
- der Carrier verloren wurde.
-
-
- o CLONL_DoCommand(<befehl> [,<parameter>])
-
- Ruft einen in den Shellprefs eingetragenen Onlinebefehl auf, so, als
- würde der User den Befehl selbst aufrufen.
-
- Parameter:
-
- befehl - Onlinebefehl
- parameter - Optionaler Parameter; beinhaltet einen String, der an
- den Befehl als Parameter übergeben wird.
-
- o CLONL_SendMail(<absender>,<empfänger>,<betreff>,<filename>)
-
- Verschickt eine Textnachricht. Siehe auch CL_SendMailFull().
-
- Parameter:
-
- absender - Absender der Nachricht, System- und Domainangabe
- werden ersetzt.
- empfänger - Empfänger der Nachricht
- betreff - Betreff der Nachricht
- filename - Pfad und Name des zu verschickenden Files.
-
-
- o CLGET_Key()
-
- Wartet auf einen Tastendruck und gibt sie zurück. Ein String '-1'
- bedeutet, daß ein Abbruch stattgefunden hat oder der Carrier verloren
- wurde; in beiden Fällen sollte sich das ARexx-Skript umgehend selbst
- beenden.
-
- Bei gedrückten Cursortasten werden folgende Werte zurückgegeben:
-
- Cursor nach oben : "-UP"
- Cursor nach unten : "-DOWN"
- Cursor nach links : "-LEFT"
- Cursor nach rechts: "-RIGHT"
-
- Beispiel:
-
- menu:
- say '[1] Nachricht editieren'
- say '[2] Nachricht verschicken'
- say '[E] Programm verlassen'
- say ''
- loop:
- taste=CLGET_Key()
- select
- when taste='1' then call edit
- when taste='2' then call send
- when (taste='E')|(taste='-1') then exit
- otherwise call loop
- end
- call menu
-
-
- o CLONL_Transfer(<filename> [,<sendfilename>]
-
- Verschickt ein File an den User. Bei dieser Funktion kann es Probleme
- geben, wenn sie in ihrem System XPR-Treiber-Protokolle anstelle der
- Connectline Built-in-Übertragungsprotokolle verwenden.
-
- Parameter:
-
- filename - Name des zu übertragenden Files
- sendfilename- Optionaler Parameter; ist er angegeben, wird das File
- mit diesem Namen verschickt.
-
- Beispiel:
-
- if ~CLONL_Transfer('JANUS:'||point||'/'||point||'.PRE') then
- say 'Transfer fehlgeschlagen!'
- else
- say 'Transfer erfolgreich!'
-
-
- o CLONL_Receive(<port>)
-
- Empfängt ein File auf Port <port> und gibt den kompletten Pfad zurück,
- bzw. einen Leerstring bei fehlgeschlagener Übertragung. Werden mehrere
- Files empfangen, so werden die Filenamen durch Leerzeichen getrennt in
- einem String zurückgegeben. Die empfangenen Files sollten auf jeden
- Fall entsorgt werden, da sie sonst vom Onlinebefehl SENDEN als
- Bimodem-Übertragungsfiles behandelt werden.
-
- Beispiel:
-
- string=CLONL_Receive(port)
- if string~='' then do
- do x=1 to words(string)
- rename(word(string,x),'T:'||word(string,words(translate(string,' ','/'))))
- end
- end
- else say 'Übertragung fehlgeschlagen!'
-
-
- o CLIS_KeyPressed()
-
- Liefert '1', wenn eine Taste gedrückt wurde, ansonsten '0'.
-
-
- o CLONL_ShortMenu(<eintrag> {,<einträge>})
-
- Es wird ein kleines einzeiliges Menü aus den Einträgen aufgebaut.
- Die maximale Anzahl der Parameter liegt bei 20. Der erste Buch-
- stabe eines jeden Eintrages wird als Hotkey verwendet. Der Hot-
- key des ausgewählten Eintrages wird zurückgegeben.
-
-
- o CLONL_ShortMenuVertical(<eintrag> {,<einträge>})
-
- Es wird ein kleines vertikales Menü aus den Einträgen aufgebaut.
- Die maximale Anzahl der Parameter liegt bei 20. Der erste Buch-
- stabe eines jeden Eintrages wird als Hotkey verwendet. Der Hot-
- key des ausgewählten Eintrages wird zurückgegeben.
-
-
- o CLONL_SetObscure(<flag>)
-
- Setzt den Obscure-Modus. Ist das Flag gesetzt, ist ein Mitlesen
- auf der Console nicht mehr möglich.
-
-
- o CLONL_ClearScreen()
-
- Per ANSI-Steuersequenz wird der Bildschirm gelöscht.
-
-
- o CLONL_PrintFile(<filename>)
-
- Gibt das File <filename> als Text aus.
-
-
-
-
- 6. Befehle für Zugriffe auf Nachrichten
- ---------------------------------------
-
-
- 6.1 Befehle zum Lesen von Nachrichtendaten
- ------------------------------------------
-
-
- o CLGET_MsgNumberOf(<brettname>)
-
- Liefert die Anzahl der Nachrichten im Brett <brettname> zurück.
- Existiert das Brett nicht oder konnte der Index nicht gelockt wer-
- den, wird eine '-1' zurückgegeben.
-
-
- o CLGET_MsgSubject(<brettname>,<nr>)
-
- Liefert den Betreff von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgFilename(<brettname>,<nr>)
-
- Liefert den Filenamen von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgShortComment(<brettname>,<nr>)
-
- Liefert den Kurzkommentar von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgFrom(<brettname>,<nr>)
-
- Liefert den Absender von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgMsgID(<brettname>,<nr>)
-
- Liefert die MsgID von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgReadcount(<brettname>,<nr>)
-
- Liefert den Zugriffszähler von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLGET_MsgIncomeDate(<brettname>,<nr>)
-
- Liefert das Einsortierdatum von Nachricht Nr. <nr> im Brett <brett-
- name>.
-
-
- o CLGET_MsgSendDate(<brettname>,<nr>)
-
- Liefert das Absendedatum von Nachricht Nr. <nr> im Brett <brettname>.
-
-
- o CLIS_MsgBinary(<brettname>,<nr>)
-
- Liefert '1', wenn die Nachricht Nr. <nr> im Brett <brettname> ein File
- ist, ansonsten '0'.
-
-
- o CLGET_MsgBody(<brettname>,<nr>,<filename>)
-
- Diese Funktion lagert den Body der Nachricht Nr. <nr> im Brett <brett-
- name> mit dem Filenamen <filename> aus.
-
-
- o CLGET_MsgBodyLength(<brettname>,<nr>)
-
- Diese Funktion gibt die Länge des Mailbodies der Nachricht Nr. <nr>
- im Brett <brettname> zurück.
-
-
- o CLGET_MsgComment(<brettname>,<nr>,<filename>)
-
- Diese Funktion dient dem Auslagern des langen Kommentars (KOM:) der
- Nachricht Nr. <nr> des Brettes <brettname> unter dem Filename <file-
- name>.
-
-
- o CLGET_MsgCommentLength(<brettname>,<nr>)
-
- Diese Funktion gibt die Länge des langen Kommentars (KOM:) der Nach-
- richt Nr. <nr> des Brettes <brettname> zurück.
-
-
-
-
- 6.2 Befehle zum Setzen von Nachrichtendaten
- -------------------------------------------
-
-
- o CLSET_MsgSubject(<brettname>,<nr>,<betreff>)
-
- Setzt den Betreff von Nachricht Nr. <nr> im Brett <brettname> auf
- <betreff>.
-
-
- o CLSET_MsgShortComment(<brettname>,<nr>,<kommentar>)
-
- Setzt den Kurzkommentar von Nachricht Nr. <nr> im Brett <brettname>
- auf <kommentar>.
-
-
- o CLSET_MsgDelete(<brettname>,<nr>)
-
- Setzt das Löschflag von Nachricht Nr. <nr> im Brett <brettname>. Die
- Nachricht wird beim nächsten Crunchen des Brettes vollständig ent-
- fernt.
-
-
-
-
- 7. Befehle für Zugriffe auf die Ports
- -------------------------------------
-
- Allgemeine Anmerkungen:
- -----------------------
-
- Diese Funktionen benötigen als Übergabeparameter die Nummer des Ports,
- von welchem aus das Skript gestartet wurde. Diese erhalten sie entweder
- beim Aufruf als Parameter oder über den ARexx-Port des CL-PORTx.
-
- Ist niemand eingeloggt, geben die Funktionen - solange nicht anders ver-
- merkt - einen Leerstring zurück.
-
-
- o CLGET_PortUsername(<port>)
-
- Liefert den Usernamen des eingeloggten Users.
-
-
- o CLGET_PortCurrentboard(<port>)
-
- Liefert den Namen des Brettes, in welchem sich der User gerade aufhält.
-
-
- o CLGET_PortTerminal(<port>)
-
- Liefert die aktuelle Terminaleinstellung des Users im Klartext ("ANSI",
- "VT100" oder "TTY").
-
-
- o CLGET_PortLines(<port>)
-
- Liefert die aktuelle maximale Zeilenzahl des Users. Ist niemand ein-
- geloggt, wird eine '-1' zurückgegeben.
-
-
-
-
- 8. Befehle zum Auslesen von Defaultpfaden
- ------------------------------------------
-
- o CLGET_PathJANUS()
-
- Liefert den in den JANUS-Prefs eingestellten Pfad des JANUS-Verzeich-
- nisses zurück. Beim Aufruf dieser Funktion muß Connectline laufen.
-
- Beispiel:
-
- /* Abfragen, ob Connectline zur Zeit läuft */
-
- if ~show('P','CL-SERVER') then do
- say 'Bitte erst Connectline 5.0 starten!'
- exit
- end
- JANUS=CLGET_PathJANUS()
-
-
- o CLGET_PathZERBERUS()
-
- Liefert den in den Z38-Prefs eingestellten Pfad des ZERBERUS-Ver-
- zeichnisses zurück. Beim Aufruf dieser Funktion muß Connectline laufen.
-
- Beispiel:
-
- /* Abfragen, ob Connectline zur Zeit läuft */
-
- if ~show('P','CL-SERVER') then do
- say 'Bitte erst Connectline 5.0 starten!'
- exit
- end
- ZERBERUS=CLGET_PathZERBERUS()
-
-
- o CLGET_PathSpool()
-
- Liefert den Pfad des JANUS-Spoolverzeichnisses zurück.
-
-
- o CLGET_PathTrash()
-
- Liefert den Pfad des JANUS-Trashverzeichnisses zurück.
-
-
- o CLGET_PathBoard()
-
- Liefert den in der Hauptkonfiguration eingestellten Defaultpfad der
- Bretter zurück.
-
-
- o CLGET_PathUser()
-
- Liefert den in der Hauptkonfiguration eingestellten Defaultpfad der
- Userverzeichnisse zurück.
-
-
- Bugreports und Vorschläge bitte ins Brett /CLC/BETA oder per Mail an
- merlin@sixpack.pfalz.de.
-
- --
- Changes:
-
- 1.0 - Entwicklung (bis 1.2) (7.11.1995)
- 1.3 - Erste Veröffentlichung im Connectline Supportnetz.
- 1.4 - CLSET_/GET_BoardHoldKB/HoldDays() neu dazu. (8.11.1995)
- - CLGET_BoardLastWrite() neu dazu.
- - CL_BoardNew() neu dazu.
- - CL_BoardDelete() neu dazu.
- - CLGET/SET__BoardMaxNet() neu dazu.
- - CLIS/SET__BoardNoScan() neu dazu.
- - CLGET_BoardExists() heißt nun CLIS_BoardExits().
- - alle Libraries werden sauber geschlossen.
- - CLIS/SET_BoardGroup() neu dazu.
- 1.5 - Userfunktionen (9.11.95)
- 1.6 - CLIS/SET_User-Flags() neu dazu (Kap. 3.3/3.4).
- - CLGET_SystemName()/SystemAddress()/GroupName() neu dazu.
- - CL_Edit() neu dazu.
- - CLGET_BoardPrefix() viel toleranter.
- 1.7 - Systemfunktionen (10.11.95)
- - CLIS_UserPoint() neu dazu.
- - Unberechtigte Zugriffe führen nicht mehr zu Error 100.
- 1.8 - Online Befehle integriert (10.11.95)
- 1.9 - CLGET_BoardNext()/Previous() hatte jeweils ein Brett zertrashed.
- (Und zwar immer das letzte, das zur Terminierung gedacht war).
- 1.10 - CL_SendMailFull() neu dazu. (11.11.95)
- - Schreibkorrektur Protocoll->Protocol.
- - CLGET/IS/SET_Msg...() Befehle neu dazu.
- - CLGET_Port...() Befehle neu dazu.
- - Schreibkorrektur Telefon->Telephone.
- 1.11 - Schreibfehler in Doku, jetzt CLGET_BoardBoxList() (war CLGET_BoxList())
- - Schreibfehler in Doku, jetzt CLGET/SET_BoardHoldKB/Days().
- 1.12 - Returncodes der CLSET/IS_User...() Befehle korrekt.(15.11.95)
- - CLGET_BoardNext() lieferte bei "" Trash.
- - CLONL_...() Befehle ein wenig optimiert.
- - CLONL_Continue() ist rausgeflogen. Ist bei Con Ausgaben unnötig.
- 1.13 - CLGET_UserPointname() neu dazu. (16.11.95)
- - CLGET_BoardPrefix() liefert immer gültige Bretter. (17.11.95)
- - CLONL_Receive() neu dazu.
- 1.14 - CL_AddLog() neu dazu. (19.11.95)
- 1.15 - CL_GetText() neu dazu. (20.11.95)
- - CLGET_BoardList() neu dazu.
- - CLGET_BoardBoxList() nun Ergebnis in Array. (21.11.95)
- - CLGET_Path...() neu dazu.
- 1.16 - CLONL_Transfer() liefert bei fehlgeschlagenem Transfer nun auch
- rexxFalse zurück.
- - CL_PutStr() gibt Text aus, ohne LF am Ende.
- 1.17 - CLGET/IS_SystemMapsAccess() neu dazu. (26.11.95)
- - CLGET/IS_SystemAutoentry() neu dazu.
- 1.18 - CLGET_Msg...Length() neu dazu.
- 1.19 - Bugfixes. (27.11.95)
- 1.20 - CL_LogDelete()/CL_LogRename() neu dazu. (3.12.95)
- - CL_AddLog() in CL_LogAdd() umbennant (Saubere Struktur)
- - CLGET_FileRequest() neu dazu.
- 1.21 - CLGET_FrontScreenName() neu hinzu. (4.12.95)
- 1.22 - CLGET_PathSpool() neu dazu. (14.12.95)
- - CLGET_PathTrash() neu dazu.
- - CLGET_TransferList( <STEM> ) neu dazu.
- - CLGET_PackerList( <STEM> ) neu dazu.
- - Kleiner Bug bei __UserLibInit() beseitigt.
- 1.23 - Carriercheck bei CLONL_ShortMenu[Vertical]() korrigiert. (28.12.95)
- 1.24 - CLGET_UserFreeKByte() neu dazu. (13.01.96)
- CLSET_UserFreeKByte() neu dazu.
- 1.25 - CLONL_x()-Funktionen brachten u.U. die Shell zum Hängen. (04.02.96)
-